The present invention relates generally to communicating via electronic messages, and more particularly to identifying and managing related electronic messages.
Electronically-communicated messages (xe2x80x9celectronic messagesxe2x80x9d or xe2x80x9celectronic communicationsxe2x80x9d) such as email, voicemail, paging messages, and transmitted documents have become increasingly popular and pervasive in recent years. The ability to send an electronic message to multiple recipients provides for quick and efficient communication, and the use of electronic messages has become common in business settings.
While electronic messages can be specified in a variety of formats, a typical electronic message will include substantive contents to be conveyed (e.g., text and/or images) as well as a preceding header with various identifying information about the message. For example, a header of an electronic email message might include an identification of the sender and of the recipients, as well as a subject for the message. Headers can also include information such as the size of the message, a specification of the encoding used for the message (e.g., a particular compression algorithm), a specification of the transmission protocol for which the message was created (e.g., TCP/IP), or a unique identifier for the message.
While a user can create and send a message independent of any other messages, messages are often part of a message thread. A message thread is a group of messages that are related to each other, such as when one message is a response to (e.g., a reply to or a forwarding of) another message. Messages in the same message thread will typically share various common message information, such as related subjects or common message content. For example, a reply email or voicemail will often include the contents of the original message as well as additional contents specific to the reply, and the subject line of a reply or forwarded email will often include the original subject line along with a relation indicator such as xe2x80x9cRE:xe2x80x9d or xe2x80x9cFW:xe2x80x9d respectively.
Consider, for example, the following situation in which co-workers send a series of emails that are part of a single message thread back and forth to each other, and each response message contains the contents of the message being responded to as well as additional unique content. Worker A first sends message 1 to workers B and C and to supervisor D. Worker B responds to message 1 with response message 2 sent to A and D, and worker C responds to message 1 with a distinct response message 3 sent to A and D. Thus, supervisor D has received message 1, message 2 which includes the contents of message 1 as well as additional contents, and message 3 which includes the contents of message 1 as well as additional contents.
While message threads can provide various benefits, receiving message thread messages can also create various problems. For example, a recipient of multiple message thread messages will often receive multiple messages that include common content. In the example above, supervisor D received the contents of message 1 in three different messages. After the contents of message 1 has been received the first time (e.g., from receiving message 1), those contents become redundant for that message recipient when they are included in the contents of other received message thread messages (e.g., such as response messages 2 and 3).
Current mechanisms for managing pending messages for a user create problems with respect to message thread messages with redundant contents. Pending messages for a user include those messages which have been received but not yet reviewed, as well as those messages which have been reviewed and retained. When a user has received multiple messages that are part of a common message thread, current message management mechanisms store and present each such message to the user. However, when the pending messages for a user include messages with contents that are redundant in light of the contents of other pending messages, various inefficiencies result. For example, extra computer resources are needed for the storage and presentation of the redundant contents, and extra time is needed by the user to review each message and to determine what contents are new and what contents are redundant.
The present invention provides a method and system for managing messages so that messages with redundant contents need not be reviewed by a user. Techniques of the invention monitor electronic messages received by a user and determine whether the received electronic messages are related to pending electronic messages for the user, such as by being part of the same message thread. Messages with redundant contents among the related messages are then identified, and the messages with redundant contents are managed so that the user need not review the contents. The messages with redundant contents can be managed by creating a new message which includes the unique contents of each of the identified messages but at most a single copy of the redundant contents. After the new message is created, the identified messages used to create the new message can then be indicated to be redundant in light of the newly created message in one or more ways, such as by deleting the identified messages or by altering the visual indicators of the identified messages presented to the user. Alternatively, the messages with redundant contents can be managed by deleting the redundant contents from the identified messages, or by altering the manner in which the redundant contents are presented to allow for easy identification by the user.
In one aspect of the invention, multiple electronic messages sent to the user are identified, at least two of the electronic messages are determined to have contents that each include the contents of another electronic message, and a new electronic message is generated containing the contents of the determined electronic messages in such a manner that the new electronic message contains only a single copy of the contents of the other electronic message.